package com.example.its2021606134chh.BusDiyModule;

import android.graphics.Bitmap;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;

import com.example.its2021606134chh.R;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;

import java.util.Hashtable;

public class BusDiyQRCodeActivity extends AppCompatActivity {

    private ImageView imageView6;

    @RequiresApi(api = Build.VERSION_CODES.O)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_bus_diy_q_r_code);
        String value = "{\"UserName\":\"user1\",\"Id\":[\"23\",\"2\",\"73\"]}";
//        imageView6.setImageBitmap(QRCode.createQRCode(value));
//        QRCodeWriter writer = new QRCodeWriter();
//        try {
//            BitMatrix bt = writer.encode(value, BarcodeFormat.QR_CODE, 200, 200);
//        } catch (WriterException e) {
//            e.printStackTrace();
//        }
//        imageView6.setImageBitmap(QRCodeBitmapKt.newInstance().createQRCodeBitmap("test",80,80,
//                "UTF-8","L","1", Color.BLACK, Color.WHITE));
//        initView();
//        int w=imageView6.getWidth();
//        int h=imageView6.getHeight();
//        try
//        {
//            Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>();
//            hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
//            //图像数据转换，使用了矩阵转换
//            BitMatrix bitMatrix = new QRCodeWriter().encode(value, BarcodeFormat.QR_CODE, 200, 200, hints);
//            int[] pixels = new int[200 * 200];
//            //下面这里按照二维码的算法，逐个生成二维码的图片，
//            //两个for循环是图片横列扫描的结果
//            for (int y = 0; y < 200; y++)
//            {
//                for (int x = 0; x < 200; x++)
//                {
//                    if (bitMatrix.get(x, y))
//                    {
//                        pixels[y * 200 + x] = 0xff000000;
//                    }
//                    else
//                    {
//                        pixels[y * 200 + x] = 0xffffffff;
//                    }
//                }
//            }
//            //生成二维码图片的格式，使用ARGB_8888
//            Bitmap bitmap = Bitmap.createBitmap(200, 200, Bitmap.Config.ARGB_8888);
//            bitmap.setPixels(pixels, 0, 200, 0, 0, 200, 200);
//            //显示到我们的ImageView上面
//            imageView6.setImageBitmap(bitmap);
//        }
//        catch (WriterException e)
//        {
//            e.printStackTrace();
//        }
    }
//    public void createQRImage(String url) {
//        try {
//            // 判断URL合法性
////            if (url == null || "".equals(url) || url.length() < 1) {
////                return;
////            }
//            Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>();
//            hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
//            // 图像数据转换，使用了矩阵转换
//            BitMatrix bitMatrix = new QRCodeWriter().encode(url,
//                    BarcodeFormat.QR_CODE, 200, 200, hints);
//            int[] pixels = new int[200 * 200];
//            // 下面这里按照二维码的算法，逐个生成二维码的图片，
//            // 两个for循环是图片横列扫描的结果
//            for (int y = 0; y < 200; y++) {
//                for (int x = 0; x < 200; x++) {
//                    if (bitMatrix.get(x, y)) {
//                        pixels[y * 200 + x] = 0xff000000; // 有信息设置像素点颜色
//                    } else {
//                        pixels[y * 200 + x] = 0x0000a0e9;// 无信息设置像素点颜色
//                    }
//                }
//            }
//            // 生成二维码图片的格式，使用ARGB_8888
//            Bitmap bitmap = Bitmap.createBitmap(200, 200,
//                    Bitmap.Config.ARGB_8888);
//            bitmap.setPixels(pixels, 0, 200, 0, 0, 200, 200);
//            // 显示到一个ImageView上面
//            imageView6.setImageBitmap(bitmap);
//        } catch (WriterException e) {
//            e.printStackTrace();
//        }
//    }

    private void initView() {
        imageView6 = (ImageView) findViewById(R.id.imageView6);
    }
}